package com.shujia.wyh.day18;

import java.util.ArrayList;
import java.util.Collection;

/*
    boolean addAll(Collection c) 将指定集合中的所有元素添加到此集合（可选操作）。
    boolean removeAll(Collection c) 删除指定集合中包含的所有此集合的元素（可选操作）。
    boolean containsAll(Collection c) 如果此集合包含指定 集合中的所有元素，则返回true。
    boolean retainAll(Collection c) 仅保留此集合中包含在指定集合中的元素（可选操作）。
 */
public class CollectionDemo2 {
    public static void main(String[] args) {
        //创建一个集合对象
        Collection c1 = new ArrayList();
        //向集合中添加元素
        c1.add("hello");
        c1.add("world");
        c1.add("java");
        c1.add("bigdata");
        c1.add("hadoop");
        c1.add("hive");

        //创建另外一个集合对象
        Collection c2 = new ArrayList();
        //向集合中添加元素
        c2.add("hello");
        c2.add("java");
        c2.add("hadoop");
        c2.add("world");
        c2.add("spark");
        c2.add("flink");
        System.out.println("c1:" + c1);
        System.out.println("c2:" + c2);
        System.out.println("============================================");
        //boolean addAll(Collection c) 将指定集合中的所有元素添加到此集合（可选操作）。
//        System.out.println("将c2添加到c1中：");
//        c1.addAll(c2);
//        System.out.println("将c1添加到c2中：");
//        c2.addAll(c1);
//        System.out.println("c1:" + c1);
//        System.out.println("c2:" + c2);
        System.out.println("============================================");
        //boolean removeAll(Collection c) 删除指定集合中包含的所有此集合的元素（可选操作）。
//        c1.removeAll(c2);
//        c2.removeAll(c1);
//        System.out.println("c1:" + c1);
//        System.out.println("c2:" + c2);
        System.out.println("=============================================");
        //boolean containsAll(Collection c) 如果此集合包含指定 集合中的所有元素，则返回true。
        System.out.println(c1.containsAll(c2));
        System.out.println("=============================================");
        //boolean retainAll(Collection c) 仅保留此集合中包含在指定集合中的元素（可选操作）。
        //谁调用方法，谁就保留交集内容，谁是参数，参数中的内容不变
        //举例：假设有两个集合c1,c2
        //c1对c2做交集。最终的结果保留在c1中，才c2不变
//        c1.retainAll(c2);
        c2.retainAll(c1);
        System.out.println("c1:" + c1);
        System.out.println("c2:" + c2);



    }
}
